import store from "../store/index";
export default {
  required: (value) => !!value || store.getters.t("from.required"),
  strLength: (value) => {
    if (value) {
      if (value.length > 5) {
        return store.getters.t("from.strLength5");
      }
      return true;
    }
    return true;
  },
  email: (value) => {
    const pattern =
      /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return pattern.test(value) || store.getters.t("from.InvalidEmail");
  },
  password: (value) => {
    // var regUpper = /[A-Z]/;
    var regLower = /[a-z]|[A-Z]/;
    var regNum = /[0-9]/;
    var regTeShu = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~！@#￥……&*（）——|{}【】‘；：”“'。，、？+-]");
    var complex = 0;
    if (regLower.test(value)) {
      ++complex;
    }
    // if (regUpper.test(value)) {
    //   ++complex;
    // }
    if (regNum.test(value)) {
      ++complex;
    }
    if (regTeShu.test(value)) {
      ++complex;
    }
    if (complex < 2 || value.length < 8) {
      return store.getters.t("from.passwordVaildateHint"); //"密码长度不小于8位，包含数字、字母大、小写、符号中的至少3种" //iview中的一个提示框
    } else {
      return true; //iview中的一个提示框
    }
  },
  confirmPassword: (value) => {
    if (value === this.password) {
      return true;
    } else {
      return "密码输入不一致";
    }
  },
  /**
   * 自定义限制文本长度
   * @param length 要限制的字符长度
   * @returns {(function(*=): (*|boolean))|*}
   */
  customStrLength: (length) => {
    return (value) => {
      if (value) {
        if (value.length > length) {
          return store.getters.t("from.strLength");
        }
        return true;
      }
      return true;
    };
  },
};
